home *** CD-ROM | disk | FTP | other *** search
/ Xenosoft 2 / Xenosoft 2 (Game collection)(1994).iso / bioforge / script / pimm.scp < prev    next >
Text File  |  1994-12-08  |  21KB  |  945 lines

  1. // PERSONAL INFORMATION MANAGER
  2.  
  3. { PIMM
  4.     ^Ç┤              ++
  5.  
  6.     I  @ÇÄ             (ZEG) THEN
  7.         M      ZERO_G_PIMM
  8.     E   
  9.         M      LOOK_AT_PIM FREEZE
  10.  
  11.     @Ç¥  ( PIMM_MONITOR, 1 )
  12.  
  13.     I  @ÇÄ             (ZEG) THEN
  14.         M      FLOAT CONTINUE
  15.     E   
  16.         M      STAND CONTINUE
  17.  
  18.     ^Ç┤              --
  19. }
  20.  
  21. // 7.01 LEX'S PERSONAL INFORMATION MONITOR
  22. { PIMM_MONITOR _OPEN_DOOR
  23.  
  24.     P        ~Çü  
  25.  
  26.     I ( @Çú              () ) THEN é     
  27.     ^ïü            = 0                                      // ALREADY IN
  28.  
  29.              "pimm"
  30.  
  31.     :BACK_TO_MAIN
  32.  
  33.     m          
  34.  
  35.     // DEFINE ART FRAMES
  36.                 "sara" 1
  37.  
  38.                     "expl"  "EXPERIMENTAL/FEXPÉRIMENTAL/GEXPERIMENTELLE"
  39.                     "naml"  "UNIT AP-127/AFA/FUNITÉ AP-127/ACA/GEINHEIT AP-127/AFA"
  40.  
  41.                     "invb"  "INVENTORY/FINVENTAIRE/GINVENTAR"
  42.                     "diab"  "DIAGNOSTICS/FDIAGNOSTICS/GDIAGNOSTIK"
  43.                     "joub"  "JOURNAL/FJOURNAL/GTAGEBUCH"
  44.                     "optb"  "OPTIONS/FOPTIONS/GOPTIONEN"
  45.                     "extb" $Ç¡            "EXIT/FSORTIE/GABBRECHEN"
  46.  
  47.     I  (~ÇÇ       ) THEN
  48.     {
  49.         @Çì      OPENPIMDOOR
  50.         ~ÇÇ        = 0;
  51.     }
  52.  
  53.  
  54.     :LOOP
  55.                
  56.         â      
  57.     J    #Çâ 
  58.  
  59.     // DIAGNOSTICS BUTTON PRESSED. JR & KC 6/13/94
  60.     :DIAB_BUTTON
  61.         @Çå   (`ü▒        )
  62.         @Ç¥   PIMM_DIAGNOSTICS
  63.         J    #Çé         
  64.  
  65.  
  66.     :JOUB_BUTTON
  67.         @Çå   (`ü¡        )
  68.         @Ç¥   PIMM_JOURNAL
  69.         J    #Çé         
  70.  
  71.  
  72.  
  73.     :INVB_BUTTON
  74.         @Çå   (`üÉ     , 255, -2048)
  75.         @Ç¥   PIMM_INVENTORY
  76.         J    #Çé         
  77.  
  78.  
  79.     :OPTB_BUTTON
  80.     // EXIT THIS MONITOR
  81.     @Çå   (`ü▓        , 200, -2048)
  82.            
  83.     // RUN OPTIONS MONITOR CODE
  84.     à        $âÜ          
  85.     ^ïü            = 1                                      // TELL CODE TO RESTART THIS PIM
  86.     J    #Çè     
  87.  
  88.     :ESCAPE_BUTTON
  89.     :EXTB_BUTTON
  90.     @Çå   (`ü▓        , 200, -1024)
  91.  
  92.            
  93.  
  94.     I  ^Ä£           THEN i           LEX PIM1
  95.  
  96.     :BLOCKEND
  97. }
  98.  
  99. [ OPENPIMDOOR
  100.     // FLIC OF DOORS OPENING
  101.     // PAUSE AT BEGINNING WITH CLOSED
  102.     00:00            ("DORA", 1)
  103.           @Çå   (`ü│      , 255, -1024)
  104.  
  105.     00:02            ("DORA", 2)
  106.     00:04            ("DORA", 3)
  107.     00:06            ("DORA", 4)
  108.     00:08            ("DORA", 5)
  109.     00:10            ("DORA", 6)
  110.     00:12            ("DORA", 7)
  111.     00:14            ("DORA", 8)
  112.     00:16            ("DORA", 9)
  113.     00:18            ("DORA", 10)
  114.     00:20            ("DORA", 11)
  115. ]
  116.  
  117. { PIMM_DIAGNOSTICS
  118.  
  119.     P        ~ÇÇ          
  120.     P        ~Çü    
  121.  
  122.     ^Ç┤              ++ 
  123.     ~Çü     = 0
  124.     ~ÇÇ           = 0
  125.     ^Ä¥      = 1
  126.  
  127.     // ENTERED EXTERNALLY
  128.     I ( @Çú              () = 0) THEN
  129.     {
  130.         I  @ÇÄ             (ZEG) THEN
  131.             M      ZERO_G_PIMM
  132.         E   
  133.             M      LOOK_AT_PIM FREEZE
  134.  
  135.         ~ÇÇ           = 1
  136.                  "pimm"
  137.     }
  138.  
  139.     @Çå   (`ü¡        )
  140.     m          
  141.  
  142.     // SET ART FRAMES FIRST
  143.                 "dhaa" 1
  144.  
  145.     // SET LABELS
  146.     //@@@ TRANSLATE F
  147.                   "digl" $Ǽ         "DIAGNOSTICS/FFRENCH/GDIAGNOSTIK"   //@@@ PLEASE TRANSLATE
  148.                   "hn0l" $Ǽ         "0"
  149.                   "hncl" $Ǽ         "100"
  150.                   "en0l" $Ǽ         "0"
  151.     I  ^ïé        = 4 THEN
  152.         ^ïà           = @Çì      CHARGING_PFD
  153.  
  154.     I  @ÇÜ            (MY_BATTERY) = $Ç╗    THEN
  155.     {
  156.         Q       "can't find my_battery!"
  157.         â      
  158.         J    #Çæ        
  159.     }
  160.  
  161.     N      (.ÇüÇü                )
  162.     {
  163.         U    100:
  164.                           "emv1" "100"
  165.             X ÇÇ 
  166.         U    250:
  167.                           "emv1" "250"
  168.             X ÇÇ 
  169.         U    375:
  170.                           "emv1" "375"
  171.             X ÇÇ 
  172.         U    500:
  173.                           "emv1" "500"
  174.             X ÇÇ 
  175.         V      
  176.             Q       "Undefined battery value %d", .ÇüÇü                
  177.             X ÇÇ 
  178.     }
  179.     
  180.     //@@@ TRANSLATE F
  181.                   "pfdl" "PFD PROTOTYPE /FFRENCH /GPFD PROTOTYP"   //@@@ PLEASE TRANSLATE
  182.                   "brpl" "BIOLOGICAL REPAIR /FFRENCH /GBIOLOGISCHE REPARATUR"      //@@@ PLEASE TRANSLATE
  183.         // BUTTONS
  184.                     "dxtb" $Ç¡            "EXIT/FSORTIE/GABBRECHEN"
  185.     @ÇÜ             MY_BATTERY
  186.  
  187.     I  ^ïé        = 3 AND .ÇüÇü                 >= 375 THEN
  188.         ^ïé        = 0
  189.     
  190.     I  ^ïé        = 2 OR ^ïé        = 3 THEN
  191.     {
  192.                         "pdsb" $Ç░                 "INACTIVE/FINACTIF/GINAKTIVIERT"
  193.         I  ^ïé        = 2 THEN
  194.         {
  195.             s            "pfds" 100 1 
  196.             s            "pfds" 100 2
  197.         }
  198.         E   
  199.         {
  200.             s            "pfds" 100 1
  201.             s            "pfds" 0 2
  202.         }
  203.     }
  204.     E   
  205.     {
  206.         I  (^ïé        == 0) THEN
  207.         {
  208.                             "pdsb" $Ǽ         "CHARGE/FCHARGE/GLADEN"
  209.             s            "pfds" 100 1
  210.             s            "pfds" 0 2
  211.         }
  212.         E   
  213.         {
  214.                             "pdsb" $Ǽ         "READY/FPRET/GBEREIT"
  215.             s            "pfds" 100 1
  216.             s            "pfds" 100 2
  217.         }
  218.     }
  219.  
  220.     I  ^ïâ        = 0 THEN
  221.                         "brsb" $Ǽ         "INACTIVE/FINACTIF/GINAKTIVIERT"
  222.     E   
  223.                         "brsb" $Ǽ         "ACTIVE/FACTIF/GAKTIV"
  224.  
  225.     // SCALES
  226.     s            "hlts" .ÇâÇà            1
  227.     s            "hlts" .ÇâÇÇ        2
  228.      
  229.     I  @ÇÜ            ( MY_BATTERY ) THEN
  230.     {
  231.         s            "nrgs" 100 1
  232.         ~Çü     = .ÇüÇÇ             * 100
  233.         ~Çü     /= .ÇüÇü                
  234.         s            "nrgs" ~Çü     2
  235.     }
  236.     E   
  237.     {
  238.         Q       "Can't find my_battery"
  239.         s            "nrgs" 100 1
  240.         s            "nrgs" 100 2
  241.     }
  242.  
  243.                   "hltl" $Ǽ         "HEALTH/FSANTE/GGESUNDHEIT"
  244.                   "nrgl" $Ǽ         "ENERGY/FENERGIE/GENERGIE"
  245.  
  246.     :LOOP
  247.                
  248.         â      
  249.     J    #Çì 
  250.  
  251.     // PULSED FIELD DISRUPTOR BUTTON ACTIVATES RECHARGE PROCESS
  252.     :PDSB_BUTTON
  253.     @Çå   (PIM_BEEP_1)        
  254.         @ÇÜ             MY_BATTERY
  255.         
  256.         I  .ÇüÇü                  <= 374 THEN
  257.             {
  258.             ^ïé        = 3
  259.             @Çì      WARNING_FLASH 1
  260.             }
  261.  
  262.         I  ^ïé        == 0 AND .ÇüÇü                 >= 375 THEN
  263.         {
  264.             I  .ÇüÇÇ             <= 374 THEN
  265.             {
  266.                 ^ïé        = 3
  267.                 @Çì      WARNING_FLASH 0
  268.             }
  269.             E   
  270.             {
  271.                                 "pdsb" "CHARGING/FFRENCH/GLADEN"               
  272.                 ^ïà           = @Çì      CHARGING_PFD
  273.                 ^ïä           = 0
  274.                 @Çì      PIMM_RECHARGE
  275.                 ^ïä           = 0
  276.             }
  277.         }
  278.         J    #Çì 
  279.  
  280.     :BRSB_BUTTON
  281.     I  ^ïâ        == 1 THEN
  282.     {
  283.         @Çå   (`ü▒        )
  284.         ^ïâ        = 0
  285.                         "brsb" $Ǽ         "INACTIVE/FINACTIF/GINAKTIVIERT"
  286.                    ^Ä₧ 
  287.     }
  288.     E   
  289.     {
  290.         @Çå   (`ü«        )
  291.         ^ïâ        = 1
  292.                         "brsb" $Ǽ         "ACTIVE/FACTIF/GAKTIVIERT"
  293.         ^Ä₧  = @Çì      BIOREPAIR
  294.     }
  295.     J    #Çì 
  296.  
  297.     :ESCAPE_BUTTON
  298.     :DXTB_BUTTON
  299.         I  ^ïé        = 4 THEN
  300.             {
  301.                        ^ïà          
  302.             }
  303.         ^Ä¥      = 0
  304.         // UPDATE LEXS WOUNDS IN CASE HE HEALED HIMSELF
  305.         @Ç¥   LEX_WOUNDS
  306.         @Çå   (`ü¡        )
  307.         I  (~ÇÇ           = 1) THEN
  308.         {
  309.                    
  310.             I  @ÇÄ             (ZEG) THEN
  311.                 M      FLOAT CONTINUE
  312.             E   
  313.                 M      STAND CONTINUE
  314.         }
  315.  
  316.     ^Ç┤              --
  317. }
  318.  
  319. [ WARNING_FLASH    _CURRENT
  320. // _CURRENT = 1 IF BATTERY BELOW 375 MAX CHARGES
  321.  
  322.     I  ~ÇÇ      THEN
  323.         {
  324.         00:00 I  ^Ä¥      THEN
  325.             {              
  326.                           "dwrl" "BATT CURRENT INSUFFICIENT" // @@@ PLEASE TRANSLATE
  327.                           "dw2l" "FOR PFD CAPACITOR CHARGE" // @@@ PLEASE TRANSLATE
  328.             }
  329.         01:00 I  ^Ä¥      THEN
  330.             {
  331.                           "dwrl" " "
  332.                           "dw2l" " "
  333.             }
  334.         01:20 I  ^Ä¥      THEN
  335.             {
  336.                           "dwrl" "BATT CURRENT INSUFFICIENT" // @@@ PLEASE TRANSLATE
  337.                           "dw2l" "FOR PFD CAPACITOR CHARGE" // @@@ PLEASE TRANSLATE
  338.             }
  339.         02:20 I  ^Ä¥      THEN
  340.             {
  341.                           "dwrl" " "
  342.                           "dw2l" " "
  343.             }
  344.         03:10 I  ^Ä¥      THEN
  345.             {
  346.                           "dwrl" "BATT CURRENT INSUFFICIENT" // @@@ PLEASE TRANSLATE
  347.                           "dw2l" "FOR PFD CAPACITOR CHARGE" // @@@ PLEASE TRANSLATE
  348.             }
  349.         04:10 I  ^Ä¥      THEN
  350.             {
  351.                           "dwrl" " "
  352.                           "dw2l" " "
  353.             }
  354.         }
  355.     E   
  356.         {
  357.         00:00 I  ^Ä¥      THEN
  358.             {
  359.                           "dwrl" "ENERGY LEVEL INSUFFICIENT" // @@@ PLEASE TRANSLATE
  360.                           "dw2l" "FOR PFD CAPACITOR CHARGE" // @@@ PLEASE TRANSLATE
  361.             }
  362.         01:00 I  ^Ä¥      THEN
  363.             {
  364.                           "dwrl" " "
  365.                           "dw2l" " "
  366.             }
  367.         01:20 I  ^Ä¥      THEN
  368.             {
  369.                           "dwrl" "ENERGY LEVEL INSUFFICIENT" // @@@ PLEASE TRANSLATE
  370.                           "dw2l" "FOR PFD CAPACITOR CHARGE" // @@@ PLEASE TRANSLATE
  371.             }
  372.         02:20 I  ^Ä¥      THEN
  373.             {
  374.                           "dwrl" " "
  375.                           "dw2l" " "
  376.             }
  377.         03:10 I  ^Ä¥      THEN
  378.             {
  379.                           "dwrl" "ENERGY LEVEL INSUFFICIENT" // @@@ PLEASE TRANSLATE
  380.                           "dw2l" "FOR PFD CAPACITOR CHARGE" // @@@ PLEASE TRANSLATE
  381.             }
  382.         04:10 I  ^Ä¥      THEN
  383.             {
  384.                           "dwrl" " "
  385.                           "dw2l" " "
  386.             }
  387.         }
  388. ]
  389.  
  390. [ PIMM_RECHARGE
  391.     // THIS IS THE CODE BLOCK THAT WILL CONTROL THE RECHARGING OF THE PFD
  392.     // PFD = PULSED FIELD DISRUPTOR
  393.     P        ~ÇÇ    
  394.     ~ÇÇ     = 0
  395.  
  396.     @ÇÜ             MY_BATTERY
  397.     
  398.     00:00  ^ïé        = 4
  399.            I  ^Ä¥      THEN
  400.                                "pdsb" "CHARGING/FFRENCH/GLADEN"                
  401.             
  402.     05:00  ^ïé        = 1
  403.            .ÇüÇÇ             = .ÇüÇÇ             - 25
  404.            ~ÇÇ     = .ÇüÇÇ             * 100
  405.            ~ÇÇ     /= .ÇüÇü                
  406.            I  ^Ä¥      THEN
  407.             {
  408.                             "pdsb" "READY/FPRET/GBEREIT"
  409.             s            "nrgs" ~ÇÇ     2
  410.             s            "pfds" 100 2
  411.                        ^ïà          
  412.             }
  413.            i           LEX ALWEP2
  414.  
  415. ]
  416.  
  417. [ CHARGING_PFD
  418.     
  419.                     "pdsb" "CHARGING/FFRENCH/GLADEN" 
  420.     :TOP
  421.     00:00 s            "pfds" 100 1
  422.           s            "pfds" 0 2
  423.     00:03 s            "pfds" 20 2
  424.     00:06 s            "pfds" 40 2
  425.     00:09 s            "pfds" 60 2
  426.     00:12 s            "pfds" 80 2
  427.     00:15 s            "pfds" 100 2
  428.     00:17 ò            
  429.           J    #Çò
  430. ]
  431.  
  432. { BIOREPAIR
  433.     P        ~ÇÇ   
  434.     P        ~Çü  
  435.     ~ÇÇ    = 0
  436.  
  437.     I  @ÇÜ            (MY_BATTERY) = $Ç╗    THEN
  438.         {
  439.         Q       "Can't find my_battery!"
  440.         é     
  441.         }
  442.  
  443.     :LOOP
  444.     I  (.ÇüÇÇ             >= 1) AND .ÇâÇÇ        <= 100 THEN
  445.         {
  446.         I  ~ÇÇ    == 8 THEN
  447.             {
  448.             .ÇüÇÇ             -= 1
  449.             .ÇâÇÇ        +=  2
  450.             I  .ÇâÇÇ        >= 101 THEN
  451.                 .ÇâÇÇ        = 100
  452.  
  453.             ~ÇÇ    = 0
  454.             
  455.             I  ^Ä¥      THEN
  456.                     s            "hlts" .ÇâÇÇ        2
  457.             
  458.             ~Çü   = .ÇüÇÇ             * 100
  459.             
  460.             // DO WE CALL FOR LEX_WOUNDS HERE?
  461.             @Ç¥   LEX_WOUNDS
  462.  
  463.             I  .ÇüÇü                 THEN
  464.                 ~Çü   /= .ÇüÇü                
  465.             E   
  466.                 ~Çü   = 0
  467.             
  468.             I  ^Ä¥      THEN
  469.                 {
  470.                 s            "nrgs" ~Çü   2
  471.                                 "brsb" $Ç«           "ACTIVE/FACTIF/GAKTIV"
  472.  
  473.     }
  474.             }
  475.         }
  476.     I  .ÇâÇÇ        >= 100 OR .ÇüÇÇ             <= 0 THEN
  477.     {
  478.             ^ïâ        = 0
  479.             
  480.             I  ^Ä¥      THEN
  481.                                 "brsb" $Ǽ         "INACTIVE/FINACTIF/GINAKTIVIERT"
  482.  
  483.             é     
  484.     }
  485.  
  486.     ~ÇÇ    += 1
  487.     â      
  488.     J    #Çù 
  489. }
  490.  
  491. { PIMM_INVENTORY
  492.  
  493.     P        ~ÇÇ          
  494.  
  495.     ^Ç┤              ++
  496.     ~ÇÇ           = 0
  497.  
  498.     // ENTERED EXTERNALLY
  499.     I ( @Çú              () = 0) THEN
  500.     {
  501.         I  @ÇÄ             (ZEG) THEN
  502.             M      ZERO_G_PIMM
  503.         E   
  504.             M      LOOK_AT_PIM FREEZE
  505.  
  506.         ~ÇÇ           = 1
  507.                  "pimm"
  508.     }
  509.  
  510.     m          
  511.  
  512.                 "ihaa" 1
  513.                  ( "istl", "INVENTORY/FINVENTAIRE/GINVENTAR" )
  514.     j             ( "inmt", INVENTOR )
  515.     // MON_INVITEMFRAME USES LIST CREATED ABOVE & MUST NOT BE CALLED BEFORE LIST CREATED
  516.                    ( RDDB, "/! ")  // READY BUTTON UNDERNEATH ART
  517.                 "IITA" @Ç░               "INMT"
  518.     g                ( INMT )
  519.  
  520.     j             ( "dest", DITEMS )
  521.  
  522.                     IXTB $Ç¡            "EXIT/FSORTIE/GABBRECHEN"
  523.  
  524.     // WE USING BLANKS HERE SO THAT NO TEXT WILL APPEAR
  525.                    ( IPDB, "/! ")
  526.                    ( IPUB, "/! ")
  527.                    ( RDYB, "READY/FPRET/GBEREIT" )
  528.  
  529.     :INV_LOOP
  530.                
  531.         â      
  532.         J    #ÇÖ     
  533.  
  534.     :RDDB_BUTTON
  535.     :RDYB_BUTTON
  536.         @Çå   (`ü▒        )
  537.         h          ( INMT )
  538.         f         CARRY
  539.         J    #Ç╕        
  540.  
  541.     :IPDB_REPEAT
  542.     :IPDB_BUTTON
  543.         @Çå   (`ü«        )
  544.         k             ( INMT, $Ç╢         )
  545.         // SET PICTURE FRAME WITH DESCRIPTION
  546.         J    #ÇÖ     
  547.  
  548.     :IPUB_REPEAT
  549.     :IPUB_BUTTON
  550.         @Çå   (`ü«        )
  551.         k             ( INMT, $Ç╡       )
  552.         // SET PICTURE FRAME WITH DESCRIPTION
  553.         J    #ÇÖ     
  554.  
  555.     :SETPICTUREFRAME
  556.                     "IITA" @Ç░               "INMT"
  557.         J    #ÇÖ     
  558.  
  559.  
  560.         // PROVIDE DETAILED DESCRIPTION OF ITEMS WHEN HIGHLIGHTED...
  561.         // REMOVEENTRY "*+XXXXX" == REPLACE ALL ENTRIES WITH XXXXX.
  562.         // *+ITEM REMOVES ALL CURRENT ITEMS IN LIST THEN ADDS ITEM
  563.         // WITHOUT REPORTING THE NEW HIGHLIGHTED ITEM TO THE SCRIPT,
  564.         // WHICH WOULD CAUSE AN ENDLESS LOOP AS WE WOULD AGAIN GO TO
  565.         // A HIGHLIGHT LABEL AND CALL ANOTHER ADDENTRY... JR 8/3/94
  566.     :ALBAT_HIGHLIGHT    // ALIEN BATTERY.
  567.         ¡           "dest" "*+ALBAT"
  568.         J    #Çá            
  569.  
  570.     :BLOCK_HIGHLIGHT    // BLOCK.
  571.         ¡           "dest" "*+BLOCK"
  572.         J    #Çá            
  573.  
  574.     :REFLECT_HIGHLIGHT    // REFLECT BLOCK.
  575.         ¡           "dest" "*+REFLECT"
  576.         J    #Çá            
  577.  
  578.     :CAYLOG_HIGHLIGHT   // CAYNAN'S LOGBOOK.
  579.         ¡           "dest" "*+CAYLOG"
  580.         J    #Çá            
  581.  
  582.     :CNTROLER_HIGHLIGHT // CONTROLLER.
  583.         ¡           "dest" "*+CNTROLER"
  584.         J    #Çá            
  585.  
  586.     :DANEBAT_HIGHLIGHT  // DANE'S BATTERY.
  587.         ¡           "dest" "*+DANEBAT"
  588.         J    #Çá            
  589.  
  590.     :DANELOG_HIGHLIGHT  // DANE'S LOGBOOK.
  591.         ¡           "dest" "*+DANELOG"
  592.         J    #Çá            
  593.  
  594.     :ESCHERLOG_HIGHLIGHT   // ESCHER'S LOGBOOK.
  595.         ¡           "dest" "*+ESCHERLOG"
  596.         J    #Çá            
  597.  
  598.     :FLUTE_HIGHLIGHT    // FLUTE.
  599.         ¡           "dest" "*+FLUTE"
  600.         J    #Çá            
  601.  
  602.     :LOGA_HIGHLIGHT   // LOGA - GUARD'S LOGBOOK.
  603.         ¡           "dest" "*+LOGA"
  604.         J    #Çá            
  605.  
  606.     :LOGB_HIGHLIGHT   // LOGB - GUARD'S LOGBOOK.
  607.         ¡           "dest" "*+LOGB"
  608.         J    #Çá            
  609.  
  610.     :KEY_HIGHLIGHT      //DROGG'S KEY
  611.         ¡           "dest" "*+KEY"
  612.         J    #Çá            
  613.  
  614.     :FORK_HIGHLIGHT         // FORK: A VERY USEFUL TOOL.
  615.         ¡           "dest" "*+FORK"
  616.         J    #Çá            
  617.  
  618.     :KEYDVICE_HIGHLIGHT // KEY DEVICE.
  619.         ¡           "dest" "*+KEYDVICE"
  620.         J    #Çá            
  621.  
  622.     :LEXLOG_HIGHLIGHT   // LEX'S LOGBOOK.
  623.         ¡           "dest" "*+LEXLOG"
  624.         J    #Çá            
  625.  
  626.     :LOGBOOK_HIGHLIGHT  // LOGBOOK.
  627.         ¡           "dest" "*+LOGBOOK"
  628.         J    #Çá            
  629.  
  630.     :MEAT_HIGHLIGHT         // MEAT.
  631.         ¡           "dest" "*+MEAT"
  632.         J    #Çá            
  633.  
  634.     :MEDICAID_HIGHLIGHT // MEDICAL AID.
  635.         ¡           "dest" "*+MEDICAID"
  636.         J    #Çá            
  637.  
  638.     :MONBAT_HIGHLIGHT   // MONDITE BATTERY.
  639.         ¡           "dest" "*+MONBAT"
  640.         J    #Çá            
  641.  
  642.     :PHOTO_HIGHLIGHT        // PHOTO OF A VERY BEAUTIFUL GIRL.
  643.         ¡           "dest" "*+PHOTO"
  644.         J    #Çá            
  645.  
  646.     :SCANNER_HIGHLIGHT  // ALIEN LANGUAGE TRANSLATOR.
  647.         ¡           "dest" "*+SCANNER"
  648.         J    #Çá            
  649.  
  650.     :WTALKY_HIGHLIGHT   // WALKY-TALKY.
  651.         ¡           "dest" "*+WTALKY"
  652.         J    #Çá            
  653.  
  654.  
  655.     :ESCAPE_BUTTON
  656.     :IXTB_BUTTON
  657.         @Çå   (`ü▓        )
  658.         I  (~ÇÇ           = 1) THEN
  659.         {
  660.                    
  661.             I  @ÇÄ             (ZEG) THEN
  662.                 M      FLOAT CONTINUE
  663.             E   
  664.                 M      STAND CONTINUE
  665.         }
  666.     ^Ç┤              --
  667. }
  668.  
  669. { PIMM_JOURNAL
  670.  
  671.     P        ~ÇÇ          
  672.  
  673.     ^Ç┤              ++
  674.     ~ÇÇ           = 0
  675.  
  676.     // ENTERED EXTERNALLY
  677.     I ( @Çú              () = 0) THEN
  678.     {
  679.         I  @ÇÄ             (ZEG) THEN
  680.             M      ZERO_G_PIMM
  681.         E   
  682.             M      LOOK_AT_PIM FREEZE
  683.  
  684.         ~ÇÇ           = 1
  685.                  "pimm"
  686.     }
  687.  
  688.     m          
  689.  
  690.                  ( "jorl", "JOURNAL/FJOURNAL/GTAGEBUCH" ) 
  691.                 "jhaa" 1
  692.                     "jxtb" $Ç¡            "EXIT/FSORTIE/GABBRECHEN"
  693.  
  694.     //MON_DEFINEBUTTON "topb"  "Top/FHaut/GOberfläche"
  695.     //MON_DEFINEBUTTON "botb"  "Bottom/FBas/GUnterseite"
  696.     
  697.  
  698.     j             ( "JORT" "LEX" )
  699.  
  700.     ^åï    = 1
  701.     ^åì    = 2
  702.     ^åÄ    = 3
  703.  
  704.     // WE USING BLANKS HERE SO THAT NO TEXT WILL APPEAR
  705.                    ( "JPDB",  "/! ");
  706.                    ( "JPUB",  "/! ");
  707.                    ( "JSDB",  "/! ");
  708.                    ( "JSUB",  "/! ");
  709.  
  710.     ^Ä£           = 1
  711.  
  712.     :JOURN_LOOP
  713.                
  714.         â      
  715.         J    #Ç║       
  716.  
  717.     :JPDB_REPEAT
  718.     :JPDB_BUTTON
  719.         @Çå   (`ü«        )
  720.         k             ( "JORT", $Ç╢         )
  721.         J    #Ç║       
  722.  
  723.     :JPUB_REPEAT
  724.     :JPUB_BUTTON
  725.         @Çå   (`ü«        )
  726.         k             ( "JORT", $Ç╡       )
  727.         J    #Ç║       
  728.  
  729.     :JSDB_REPEAT
  730.     :JSDB_BUTTON
  731.         @Çå   (`ü»        )
  732.         k             ( "JORT", $Ç╕        )
  733.         J    #Ç║       
  734.  
  735.     :JSUB_REPEAT
  736.     :JSUB_BUTTON
  737.         @Çå   (`ü»        )
  738.         k             ( "JORT", $Ç╖      )
  739.         J    #Ç║       
  740.  
  741.     :ESCAPE_BUTTON
  742.     :JXTB_BUTTON
  743.         @Çå   (`ü▓        )
  744.         I  (~ÇÇ           = 1) THEN
  745.         {
  746.                    
  747.             I  @ÇÄ             (ZEG) THEN
  748.                 M      FLOAT CONTINUE
  749.             E   
  750.                 M      STAND CONTINUE
  751.         }
  752.     @Ç¥   LEX_LOG_SEEN
  753.     ^Ç┤              --
  754. }
  755.  
  756.  
  757. // POINTER .CAM NAMES FOR TRANSLATING THEPLAYER->FORM_ID INTO VALID POINTER FILENAMES
  758. { POINTERDATA
  759.     < LEX           = "LexHand" >
  760.     < HARD          = "HardHand" >
  761.     < LEXMIR        = "RefHand" >
  762. }
  763.  
  764. //@@@ TRANSLATE F
  765. // OPTIONS TEXT
  766. { OPTIONSTEXT     // @@@ PLEASE TRANSLATE
  767.     < OKSTR = "SAVE SETTINGS/F /GOK" >
  768.     < EXITSTR = "EXIT/F /GZURÜCK" >
  769.     < CANCELSTR = "CANCEL/F /GABBRECHEN" >
  770.     < NEWSTR = "NEW/F /GNEUES SPIEL" >
  771.     < LOADSTR = "LOAD/F /GSPIEL LADEN" >
  772.     < SAVESTR = "SAVE/F /GSPEICHERN" >
  773.     < AUDIOSTR = "AUDIO/F /GAUDIO" >
  774.     < DETAILSTR = "DETAIL/F /GDETAIL" >
  775.     < GAMESTR = "GAME/F /GSPIEL" >
  776.     < MUSICSTR = "MUSIC/F /G" >
  777.     < SFXSTR = "SFX/F /G" >
  778.     < YESSTR = "YES/F /G" >
  779.     < NOSTR = "NO/F /G" >
  780.     // QUESTIONS FOR YES/NO DIALOG BOX.
  781.     < QEXITTODOSSTR = "Do you really want to quit?/F /G" >
  782.     < QRETURNTOGAMESTR = "Return to the game?/F /G" >
  783.     < QLOADGAMESTR = "Load this game?/F /G" >
  784.     < QSAVEGAMESTR= "Save this game?/F /G" >
  785.     < QNEWGAMESTR = "Load new game?/F /G" >
  786.     < CREDITSSTR = "CREDITS/FCREDITS/GCREDITS" >
  787.     < CREDITSFILESTR = "]CREDITS/F]CREDITS/G]CREDITS" >
  788.     < LEVELEASYSTR = "EASY/F/G" >
  789.     < LEVELMEDSTR =  "MEDIUM/F/G" >
  790.     < LEVELHARDSTR = "HARD/F/G" >
  791.     < GAMMACORRECTIONSTR = "GAMMA/F/G" >
  792.     < AMBIENTSOUND = "_ctr_ambient/F_ctr_ambient/G_ctr_ambient" >
  793.     // < OPTIONSMUSIC = _OPTIONS >  VARIABLE USED
  794. }
  795.  
  796. // *** REAL-TIME PROCESSES ***
  797.  
  798. [ PIM_DOOR
  799.     00:00 @Çå   (`ü│      , 255, -1024)
  800.     00:00             @Çè               (^åè  , +1, 2, 13, 12)
  801. ]
  802.  
  803. [ PDSRECHARGE
  804.     // WE WANT RECHARGE TO TAKE 2 SECONDS
  805.     02:00 ^ïé        = 1
  806. ]
  807.  
  808.  
  809. { ROLLCREDITS
  810.     à        $â₧          
  811. }
  812.  
  813. // RUN EXIT DIALOG WHEN MONITOR IS NO LONGER RUNNING
  814. { DLGLOADGAME
  815.     :LOOP
  816.         â      
  817.         I ( @Çú              () != 0) THEN
  818.         {
  819.             î      $üù      // ADD ANOTHER ESCAPE (IN CASE SUBMENUS RET TO PREV)
  820.             J    #üï 
  821.         }
  822.     â       // MAKE SURE SCREEN UPDATED
  823.     à        $⣠      
  824. }
  825.  
  826. { EXITMONITOR
  827.     :LOOP
  828.         â      
  829.         I ( @Çú              () != 0) THEN
  830.         {
  831.             î      $üù      // ADD ANOTHER ESCAPE (IN CASE SUBMENUS RET TO PREV)
  832.             J    #üì 
  833.         }
  834. }
  835.  
  836. // RUN RUNMONITOR TO MAKE SURE ANY CURRENT MONITOR IS NO LONGER RUNNING FIRST
  837. { DLGRUN _FLAGS
  838.     I  (^ïÿ            ) THEN
  839.         é     
  840.     @Ç¥   EXITMONITOR    // MUST NOT CONTINUE UNTIL EXITMONITOR FINISHED
  841.     â       // MAKE SURE SCREEN UPDATED
  842.     O     $Çà     
  843.     à        ~ÇÇ   
  844. }
  845.  
  846. // RUN EXIT DIALOG WHEN MONITOR IS NO LONGER RUNNING
  847. // SPECIFIC CASE OF DLGRUN
  848. { DLGEXITGAME
  849.     :LOOP
  850.         â      
  851.         I ( @Çú              () != 0) THEN
  852.         {
  853.             î      $üù      // ADD ANOTHER ESCAPE (IN CASE SUBMENUS RET TO PREV)
  854.             J    #üÉ 
  855.         }
  856.     â       // MAKE SURE SCREEN UPDATED
  857.     à        $âñ       
  858. }
  859.  
  860. { CREDITSROLLING
  861.  
  862.     I  (^ïÿ            ) THEN
  863.     {
  864.         // THIS MAKES CERTAIN THAT THE TITLE SCREEN IS SHOWN BEHIND THE
  865.         // OPTIONS. -KLD  COPIED FROM AI_LEX.SCR -JAR
  866.         C      SHOW TITLE       // SHOW FULL SCREEN -
  867.         â                               // GET RID OF ANY TRASH ON SCREEN
  868.     }
  869. }
  870.  
  871. // CALL ONLY WHEN NO LOADING IS DONE.
  872. { EXITOPTIONS
  873.  
  874.     I  (^ïÿ            ) THEN
  875.     {
  876.         C      SHOW TITLE       // SHOW FULL SCREEN -
  877.         â               // GET RID OF ANY TRASH ON SCREEN
  878.         // THIS MAKES CERTAIN THAT THE TITLE SCREEN IS SHOWN BEHIND THE
  879.         // OPTIONS. -KLD  COPIED FROM AI_LEX.SCR -JAR
  880.         C      SHOW STITLE      // SHOW FULL SCREEN -
  881.         // RELOAD OPTIONS - NOTHING ELSE TO DO
  882.         // EXITED VIA ESC OR CREDITS
  883.         à        $⢠             
  884.     }
  885.     E   
  886.     {
  887.         I  ( ^ïü            == 1 ) THEN
  888.             @Çì      PIMM_MONITOR
  889.     }
  890.     // TAKEN FROM MONFACE.C - JAR 11/1/94
  891.     // #IFDEF EDITOR
  892.     // ADDED THIS IN HERE SO THAT IF THE PLAYER DIES AND WANTS
  893.     // TO RETURN TO THE GAME, HE CAN DO SO AND BE MADE TO LIVE
  894.     // AGAIN.  THIS SHOULD HELP THE TESTERS GET THROUGH THE
  895.     // GAME, BUT SHOULDN'T OCCUR WHEN WE SHIP.
  896.     // IF( !INGAME )
  897.     //      BEGINSCRIPTPROCESS("Live",THEPLAYER,0,START_LATER);
  898.     // #ENDIF
  899.     // @PROCESS LIVE
  900. }
  901.  
  902. { JR1
  903.     à        $âí       
  904. }
  905.  
  906. // THIS PIECE OF MAGICAL MYSTERY CODE MAKES LEX COME BACK TO LIFE
  907. // AFTER HE IS DEAD.  JUST HIT ESC FROM THE OPTION SCREEN AND THIS
  908. // WILL BE RUN. -KLD
  909. { LIVE
  910.  
  911.     I ( .ÇéÇÇ        <= 0 ) THEN
  912.         {
  913.         @Ç¢               PLAYER
  914.     
  915.         ^ïÅ        = 0
  916.         .ÇéÇÇ        = 100
  917.         A  ON
  918.     
  919.         I ( @Çú              () ) THEN
  920.             {
  921.                    
  922.             }
  923.     
  924.         C      UNLOCK
  925.         t            PLAYER
  926.         @Ç¥   LEX_WOUNDS
  927.  
  928.         M      STAND
  929.         }
  930. }
  931.  
  932. { NO_SHADOW
  933.     ^Ä¢                = $âù               
  934. }
  935.  
  936. { UL_SHADOW
  937.     ^Ä¢                = $âÿ               
  938. }
  939.  
  940. { DR_SHADOW
  941.     ^Ä¢                = $âÖ               
  942. }
  943.  
  944. //$ 26 - version number
  945.